using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("PegUIElement")]
	public class PegUIElement : MonoBehaviour
	{
		public enum InteractionState
		{
			None,
			Out,
			Over,
			Down,
			Up,
			Disabled
		}

		public enum PegUILogLevel
		{
			NONE,
			PRESS,
			ALL_EVENTS,
			HIT_TEST
		}

		public MeshRenderer m_renderer => method_3<MeshRenderer>("m_renderer");

		public Collider m_collider => method_3<Collider>("m_collider");

		public bool m_enabled => method_2<bool>("m_enabled");

		public bool m_focused => method_2<bool>("m_focused");

		public bool m_doubleClickEnabled => method_2<bool>("m_doubleClickEnabled");

		public bool m_receiveReleaseWithoutMouseDown => method_2<bool>("m_receiveReleaseWithoutMouseDown");

		public object m_data => method_3<object>("m_data");

		public Vector3 m_originalLocalPosition => method_2<Vector3>("m_originalLocalPosition");

		public InteractionState m_interactionState => method_2<InteractionState>("m_interactionState");

		public float m_dragTolerance => method_2<float>("m_dragTolerance");

		public PegCursor.Mode m_cursorDownOverride => method_2<PegCursor.Mode>("m_cursorDownOverride");

		public PegCursor.Mode m_cursorOverOverride => method_2<PegCursor.Mode>("m_cursorOverOverride");

		public PegUIElement(IntPtr address, string className)
			: base(address, className)
		{
		}

		public PegUIElement(IntPtr address)
			: this(address, "PegUIElement")
		{
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void OnOver(InteractionState oldState)
		{
			method_8("OnOver", oldState);
		}

		public void OnOut(InteractionState oldState)
		{
			method_8("OnOut", oldState);
		}

		public void OnPress()
		{
			method_8("OnPress");
		}

		public void OnTap()
		{
			method_8("OnTap");
		}

		public void OnRelease()
		{
			method_8("OnRelease");
		}

		public void OnReleaseAll(bool mouseIsOver)
		{
			method_8("OnReleaseAll", mouseIsOver);
		}

		public void OnHold()
		{
			method_8("OnHold");
		}

		public void OnDoubleClick()
		{
			method_8("OnDoubleClick");
		}

		public void OnRightClick()
		{
			method_8("OnRightClick");
		}

		public void SetInteractionState(InteractionState state)
		{
			method_8("SetInteractionState", state);
		}

		public void TriggerOver()
		{
			method_8("TriggerOver");
		}

		public void TriggerOut()
		{
			method_8("TriggerOut");
		}

		public void TriggerPress()
		{
			method_8("TriggerPress");
		}

		public void TriggerTap()
		{
			method_8("TriggerTap");
		}

		public void TriggerRelease()
		{
			method_8("TriggerRelease");
		}

		public void TriggerReleaseAll(bool mouseIsOver)
		{
			method_8("TriggerReleaseAll", mouseIsOver);
		}

		public void TriggerHold()
		{
			method_8("TriggerHold");
		}

		public void TriggerDoubleClick()
		{
			method_8("TriggerDoubleClick");
		}

		public void TriggerRightClick()
		{
			method_8("TriggerRightClick");
		}

		public void SetDragTolerance(float newTolerance)
		{
			method_8("SetDragTolerance", newTolerance);
		}

		public float GetDragTolerance()
		{
			return method_11<float>("GetDragTolerance", Array.Empty<object>());
		}

		public void ClearEventListeners()
		{
			method_8("ClearEventListeners");
		}

		public bool HasEventListener(UIEventType type)
		{
			return method_11<bool>("HasEventListener", new object[1] { type });
		}

		public void SetEnabled(bool enabled)
		{
			method_8("SetEnabled", enabled);
		}

		public bool IsEnabled()
		{
			return method_11<bool>("IsEnabled", Array.Empty<object>());
		}

		public bool GetDoubleClickEnabled()
		{
			return method_11<bool>("GetDoubleClickEnabled", Array.Empty<object>());
		}

		public void SetReceiveReleaseWithoutMouseDown(bool receiveReleaseWithoutMouseDown)
		{
			method_8("SetReceiveReleaseWithoutMouseDown", receiveReleaseWithoutMouseDown);
		}

		public bool GetReceiveReleaseWithoutMouseDown()
		{
			return method_11<bool>("GetReceiveReleaseWithoutMouseDown", Array.Empty<object>());
		}

		public bool GetReceiveOverWithMouseDown()
		{
			return method_11<bool>("GetReceiveOverWithMouseDown", Array.Empty<object>());
		}

		public InteractionState GetInteractionState()
		{
			return method_11<InteractionState>("GetInteractionState", Array.Empty<object>());
		}

		public void SetData(object data)
		{
			method_8("SetData", data);
		}

		public object GetData()
		{
			return method_14<object>("GetData", Array.Empty<object>());
		}

		public void SetOriginalLocalPosition()
		{
			method_9("SetOriginalLocalPosition", new Class276.Enum20[0]);
		}

		public void SetOriginalLocalPosition(Vector3 pos)
		{
			method_9("SetOriginalLocalPosition", new Class276.Enum20[1] { Class276.Enum20.ValueType }, pos);
		}

		public Vector3 GetOriginalLocalPosition()
		{
			return method_11<Vector3>("GetOriginalLocalPosition", Array.Empty<object>());
		}

		public void SetCursorDown(PegCursor.Mode mode)
		{
			method_8("SetCursorDown", mode);
		}

		public PegCursor.Mode GetCursorDown()
		{
			return method_11<PegCursor.Mode>("GetCursorDown", Array.Empty<object>());
		}

		public void SetCursorOver(PegCursor.Mode mode)
		{
			method_8("SetCursorOver", mode);
		}

		public PegCursor.Mode GetCursorOver()
		{
			return method_11<PegCursor.Mode>("GetCursorOver", Array.Empty<object>());
		}

		public void DispatchEvent(UIEvent e)
		{
			method_8("DispatchEvent", e);
		}

		public bool HasOverriddenDoubleClick()
		{
			return method_11<bool>("HasOverriddenDoubleClick", Array.Empty<object>());
		}

		public void PrintLog(string evt, PegUILogLevel logLevel)
		{
			method_8("PrintLog", evt, logLevel);
		}
	}
}
